-- 定义请求相应体结构
local Response = {}

function Response:new(code, data, msg)
    self.__index = self
    object = setmetatable({}, self)

    -- code 为 0 是表示请求成功，为其它值时则请求失败
    object.code = code or 0

    -- 如果请求失败应设置 msg 以说明失败原因
    object.msg = msg or ''

    -- 如果需要携带数据，则设置 data 字段
    if data then
        object.data = data
    end

    return object
end

function Response:to_json()
    local json = require("cjson")
    return json.encode(self)
end

print(Response:new():to_json())
